package com.zjl.学习.第07章_高级.C_分区步骤;

import org.springframework.batch.core.partition.PartitionHandler;
import org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.core.task.SimpleAsyncTaskExecutor;

/**
 * 主步骤核心组件，统一管理work 步骤， 并给work步骤指派任务。
 *
 * 管理规则由PartitionHandler 接口定义，默认的实现类：TaskExecutorPartitionHandler
 *
 *
 */
public class C2_分区处理器 {
    //文件分区处理器-处理分区  设置分区信息
    @Bean
    public PartitionHandler userPartitionHandler() {
        TaskExecutorPartitionHandler handler = new TaskExecutorPartitionHandler();
        handler.setGridSize(5);//表示有5个分区
        handler.setTaskExecutor(new SimpleAsyncTaskExecutor());//表示各分区异步处理
        handler.setStep(null);//放入分步骤的  步骤
        try {
            handler.afterPropertiesSet();//进行 步骤判空
        } catch (Exception e) {
            e.printStackTrace();
        }
        return handler;
    }

}
